<?php
//头部 防止乱码
header("Content-Type:text/html;charset=utf-8");
//临时改变单个脚本的环境参数
//用函数来设置脚本的运行时间 0 不限制时间 临时改动
set_time_limit(0); //设置脚本运行时间为0

// 给一个默认 user_agent 让他认为自己是浏览器
ini_set('user_agent','Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)');

$url = "https://www.bizhi99.com/c16/";

// 获取壁纸网址
$content = file_get_contents($url);

//获取总张数
$res = "/<div\s*class=\"auto\s*mt\">.*共拥有(\d+).*/ism";
preg_match($res, $content, $reg);

//判断唯一元素
$count= isset($reg[1]) ? trim($reg[1]) :"";
if(empty($count)){
    echo "获取总页数失败!";
    exit;
}
// 每页的个数
$number = 36;
//求取总页数
$pages = ceil($count/$number);
// var_dump($pages);
//     exit;
// 给个数组存放每页的地址
$pagesUrls = [];
echo "开始采集\r\n";
//data-original 获取每页的图片
for($i = 1; $i <= $pages; $i++){
    $pageUrls[] = $url.$i.".html";
    // $pagesUrls[] = array_merge($pagesUrls, $pageUrl);
}
//给每页的图片放入一个数组内部
// var_dump($pageUrls);
//     exit;
$imgs = [];
foreach($pageUrls as $key=>$value)
{   $yeshu = $key+1;
    //获取每页链接的值
    $content = file_get_contents($value);
    if(empty($content)){
        echo"获取第{$yeshu}页链接失败\r\n";
        continue;
    }
    echo "获取第{$yeshu}页链接\r\n";

    //获取每页的图片 并且把它存入数组中 data-original
    $imgurl = "/data-original=\"(.*)\"/ismU";
    preg_match_all($imgurl, $content, $imageurls);
   
    $imageurls = isset($imageurls[1]) ? $imageurls[1] : [];
    // var_dump($imageurls);

    // if(empty($imageurls)){
    //     echo "获取图片失败";
    //     continue;
    // }
    $imgs = array_merge($imgs,$imageurls);
    // var_dump($imgs);
}
// var_dump($imgs);
// exit;
//数组去空
$imgs = array_filter($imgs);


// var_dump($img);

//获取链接结束
echo"获取链接结束\r\n";

//开始获取图片
//设置存入的目录
$filename = "./photo";
// $textname = mkdir($filename,0777,true);
// if(empty($textname)){
//     echo "目录创建失败";
//     exit;
// }
$i = 0;
$j = 0;
echo "开始录入图片\r\n";
foreach($imgs as $key=>$value)
{   $cur = $key+1;
    $imglink = file_get_contents($value);
    //拼接文件的内容
    $imgger = $filename.'/'.$cur.'.png';
    $length = file_put_contents($imgger, $imglink,FILE_APPEND);
    if($length <= 0){
        echo "失败!\r\n";
        $j++;
    }else{
        echo"获取第{$cur}张图片\r\n";
        $i++;
    }
    //可以设置一个延迟 防止对方认为我们是人机
    sleep(0.5);

}
echo"结束总共有{$i}张图片\r\n";







?>